Using Program Slicing in Software Maintenance

نویسندگان

  • Keith Brian Gallagher
  • James R. Lyle
چکیده

Program slicing, introduced by Weiser, is known to help programmers in understanding foreign code and in debugging. We apply program slicing to the maintenance problem by extending the notion of a program slice (that originally required both a variable and line number) to a decomposition slice, one that captures all computation on a given variable; i.e., is independent of line numbers. Using the lattice of single variable decomposition slices, ordered by set inclusion, we demonstrate how to form a slice-based decomposition for programs. We are then able to delineate the eeects of a proposed change by isolating those eeects in a single component of the decomposition. This gives maintainers a straightforward technique for determining those statements and variables that may be modiied in a component and those that may not. Using the decomposition, we provide a set of principles to prohibit changes that will interfere with unmodiied components. These semantically consistent changes can then be merged back into the original program in linear time. Moreover, the maintainer can test the changes in the component with the assurance that there are no linkages into other components. Thus, decomposition slicing induces a new software maintenance process model that eliminates the need for regression testing.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Program Slicing Technique to Reduce the Cost of Software Testing

Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prospero...

متن کامل

Static Interprocedural Slicing of Shared Memory Parallel Programs

Software tools for program debugging, software testing, software maintenance, and program understanding have all effectively utilized static program slicing techniques. In this paper, we present an approach to extend this capability to explicitly parallel shared memory programs written using the OpenMP standard. In particular, interprocedural static program slicing of OpenMP programs is enabled...

متن کامل

Program slicing techniques and its applications

Program understanding is an important aspect in Software Maintenance and Reengineering. Understanding the program is related to execution behaviour and relationship of variable involved in the program. The task of finding all statements in a program that directly or indirectly influence the value for an occurrence of a variable gives the set of statements that can affect the value of a variable...

متن کامل

A New Method to Compute Dynamic Slicing using Program Dependence Graph

Program slicing is one of the techniques of program analysis that allows an analyst to automatically extract portions of programs relevant to the program being analyzed. It is an alternative approach to develop reusable components from existing software. It is a very important part of software development and maintenance. It is used in a number of applications such as program analysis, program ...

متن کامل

Program Slicing Using Weakest Preconditions

Program slices have long been used as an aid to program understanding, especially in maintenance activities. Most slicing methods involve data and control flow analysis to determine what statements might affect a set of variables. Here, we develop a more precise slicing concept, called p-slices, defined using Dijkstra’s weakest precondition (wp), to determine which statements will affect a spec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEEE Trans. Software Eng.

دوره 17  شماره 

صفحات  -

تاریخ انتشار 1991